-
Notifications
You must be signed in to change notification settings - Fork 0
Feature/SE integration #26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]> # Conflicts: # src/modules/module.hpp
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
# Conflicts: # src/loaders/loader.hpp
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
# Conflicts: # src/se/impl/common.hpp
c710fe6
to
edaa255
Compare
3d0fdf7
to
0cad2a2
Compare
[remove] configurator changes
@@ -29,6 +40,9 @@ namespace jam::injector { | |||
std::shared_ptr<app::Configuration> configuration); | |||
|
|||
std::shared_ptr<app::Application> injectApplication(); | |||
std::shared_ptr<Subscription> getSE(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No needed anymore
using se_ptr = std::shared_ptr<Subscription>; | ||
se_ptr se_; | ||
|
||
SeHolder(se_ptr se); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about copy, move constructors and assignment operators?
@@ -41,14 +42,23 @@ namespace jam::metrics { | |||
|
|||
namespace jam::app { | |||
|
|||
struct SeHolder final { | |||
using se_ptr = std::shared_ptr<Subscription>; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
using se_ptr = std::shared_ptr<Subscription>; | |
using SePtr = std::shared_ptr<Subscription>; |
To match existing naming case.
|
||
# Set C++ standard | ||
target_compile_features(${MODULE} PRIVATE | ||
cxx_std_20 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cxx_std_20 | |
cxx_std_23 |
|
||
namespace jam::se { | ||
|
||
struct IDispatcher { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we have a convention to prefix interfaces with "I"?
std::thread::id id_; | ||
|
||
private: | ||
inline void checkLocked() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
inline void checkLocked() { | |
void checkLocked() { |
|
||
return std::chrono::microseconds(0ull); | ||
} | ||
return std::chrono::minutes(10ull); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why 10?
} catch (...) { | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you comment here?
std::lock_guard lock(tasks_cs_); | ||
return is_busy_; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
std::lock_guard lock(tasks_cs_); | |
return is_busy_; | |
std::lock_guard lock(tasks_cs_); | |
return is_busy_; |
Why is accessing is_busy_ require locking tasks_cs_? I suspect this relation can be easily broken with future refactors since it's pretty unintuitive, what about SafeObject?
|
||
namespace jam::se { | ||
|
||
struct IDisposable { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please comment.
template <typename... Args> | ||
static constexpr EngineHash getSubscriptionHash() { | ||
#ifdef _WIN32 | ||
constexpr EngineHash value = CT_MURMUR2(__FUNCSIG__); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe add a separate macro for this? I think it's going to be useful in several places.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I mean for cross platform function name.
No description provided.